In a successful operations environment of any kind, processes must be accurately documented and maintained. Example processes may include how to install a particular version of a database, how to configure a network server, how to install a software application, and the like. The documentation that describes step-by-step instructions for performing such processes is sometimes referred to as process documents and/or operations documents. Maintaining accurate process documentation can provide for consistency and quality when a process is performed, which also leads to processes being repeatable. Accurate process documentation can also provide new team members of a department with an objective point of reference from which to learn selected processes.
However, in quickly changing environments, documentation frequently is not updated and becomes inaccurate and out-of-date. Specific tasks within a process document may be left undocumented or abbreviated, which may be unclear to a reader.
A typical process document is created with a word processor and can describe a sequence of steps for performing a selected process. If the process changes, the process document would need to be modified. To complicate matters, if a particular task is modified, then all process documents that include the task must be manually changed. This becomes problematic when many process documents may exist.
Furthermore, if process documents are created to specifically define each selected process, then many process documents will need to be generated to cover all possible scenarios for the selected process. Of course, as the number of process documents increases, the difficulty in maintaining those documents increases. Conversely, if a process document is too general (e.g., tries to address too many scenarios), a reader will have to make more decisions as to how to perform the process which may lead to confusion and opportunities for errors.
An additional problem is that operations documents often use arbitrary, undefined variables such as <customer>, {STDATE}, or $SR to indicate values which change based on the particular project. Readers may choose incorrect values for these variables, which leads to confusion about the document and errors when executing the process.